// #include<iostream>
// #include<string>
// using namespace std;
// bool isLucky(long long &i){
//   string si=to_string(i);
//   int index=si.length();
//   if(index%2==0){
//     int left=0,right=index-1,l=0,r=0;
//     while(left<right){
//       l+=si[left]-'0';
//       r+=si[right]-'0';
//       left++;
//       right--;
//     }
//     if(l==r)return true;
//   }
//   return false;
// }
// int main(){
//   int num=0;
//   for(long long i=1;i<=100000000;i++){
//     if(isLucky(i))num++;
//   }
//   cout<<num<<endl;

//   cout<<4430091;
// }

#include<iostream>
using namespace std;
int main(){
  int cnt=0;
  for(int i=1;i<=100000000;i++){
    int num=[](int i){
      int cnt=0;
      for(;i;i/=10) cnt++;
      return cnt;
    }(i);
    if(num%2) continue;
    int l=0,r=0;
    cnt+=[](int num,int i){
      int l=0,r=0,half=num/2;
      for(int x=0;x<num;x++,i/=10){
        if(x<half)r+=i%10;
        else l+=i%10;
      }return l==r;
    }(num,i);
  }
  cout<<cnt;
}